MakeSBML: A tool for converting between Antimony and SBML

We describe a web-based tool, MakeSBML (https://sys-bio.github.io/makesbml/), that provides an installation-free application for creating, editing, and searching the Biomodels repository for SBML-based models. MakeSBML is a client-based web application that translates models expressed in human-readable Antimony to the System Biology Markup Language (SBML) and vice-versa. Since MakeSBML is a web-based application it requires no installation on the user’s part. Currently, MakeSBML is hosted on a GitHub page where the client-based design makes it trivial to move to other hosts. This model for software deployment also reduces maintenance costs since an active server is not required. The SBML modeling language is often used in systems biology research to describe complex biochemical networks and makes reproducing models much easier. However, SBML is designed to be computer-readable, not human-readable. We therefore employ the human-readable Antimony language to make it easy to create and edit SBML models.


Introduction
To facilitate model sharing and reproducibility in the systems biology community the Systems Biology Markup Language (SBML) standard [3] is often used.However, this modeling standard can be difficult to read and edit without additional tools [1,2,6] and, in fact, was never designed for human consumption.Instead, various SBML editors have been developed (ref, ref) to help users read and write SBML.In addition, at least two human-readable formats have been devised, SBML-shorthand (https://github.com/darrenjw/sbml-sh)and Antimony [7].Antimony is a human-readable modeling language that greatly improves the ease of model creation and editing [7] of SBMLbased models.A number of tools currently support Antimony, including Tellurium [1] and BioUML [4].A software development kit, libAntimony (https://github.com/sys-bio/antimony), is provided in the form of a C/C++ library and associated optional Python bindings.The software kit provides a very simple API that allows the interconversion between Antimony and SBML.
In order to make the software development kit available to web browsers we have translated the C/C++ into Web-assembly with associated JavaScript bindings.From this, we developed a client-side web application called MakeSBML https://sys-bio.github.io/makesbml/ that allows a user to load, edit, and translate SBML and Antimony models from within the web browser.Because the application is a purely client-side application, MakeSBML is hosted by a GitHub page which makes the installation robust and relatively maintenance-free.

Overview
The MakeSBML single-page web application uses a ported version of Antimony library [7] by translating the Antimony C++ library to JavaScript and WebAssembly https://webassembly.org/.This translation is done through Emscripten [8], a compiler toolchain used to compile existing C/C++ code and make it available for use through a web browser.The WebAssembly and JavaScript code (libantimonyjs) can be found at the GitHub site: https://github.com/sys-bio/libantimonyjs.This site includes detailed information on converting the Antimony library to JavaScript and WebAssembly.The MakeSBML website contains JavaScript calls to the Antimony library which passes back and forth, as a string, the Antimony or SBML model along with any error messages.

Usage
Using the MakeSBML web application is straightforward (Figure 1).Go to https://sys-bio.github.io/makesbml/and place either an Antimony or SBML model into the appropriate text box and press the arrow corresponding to the translation needed (Figure 1).Models can be loaded from the user's computer, downloaded from the BioModels model database (https://www.ebi.ac.uk/biomodels/), pasted or typed directly into the appropriate text box.Model editing with MakesSBML makes it much simpler to create and edit SBML models.If your modeling software supports SBML but editing the model is difficult, editing with MakeSBML is often easier and quicker.Just load the SBML XML text in MakeSBML, edit the Antimony version, and save the translated SBML version for use in your simulation software of choice.it easy to port to other sites such as free resources like Google sites.Moreover, it reduces maintenance costs since an active server is not required and web technology tends to be more stable and backward compatible than equivalent desktop software.This allows tooling to continue to run long after the funding mechanism has ceased.
MakeSBML provides a quick, and simple way to edit SBML models using the Antimony modeling language.By lowering the use barrier for researchers, MakeSBML takes the process a step further by encouraging model reuse and accelerates a user's own model development and research as a whole.

Figure 1 :
Figure 1: MakeSBML web application.Figure showing the Antimony model on the left and a portion of the translated SBML model on the right.The text search box above translated SBML allows searching of BioModels model database (https://www.ebi.ac.uk/biomodels/) [5] for model download and translation to Antimony.Note the verbosity of the SBML model compared to the antimony model.